﻿using System.Collections.Generic;

namespace ERP.Business.DataTypes.Constants.Interfaces
{
    /// <summary>
    /// Interface for Constants managers
    /// </summary>
    public interface IConstantManager
    {
        /// <summary>
        /// Adds the value.
        /// </summary>
        /// <param name="newValue">The new value.</param>
        void AddValue(ConstantBase newValue);

        /// <summary>
        /// Updates the value.
        /// </summary>
        /// <param name="updatedValue">The updated value.</param>
        void UpdateValue(ConstantBase updatedValue);

        /// <summary>
        /// Removes the value.
        /// </summary>
        /// <param name="value">The value.</param>
        void RemoveValue(ConstantBase value);

        /// <summary>
        /// Gets the values.
        /// </summary>
        /// <returns></returns>
        List<ConstantBase> GetValues();
    }
}
